//
//  VistaConfirmacionDomicilio.m
//  ProyectoMoviTiendas
//
//  Created by Daniel Paez on 3/11/12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#import "VistaConfirmacionDomicilio.h"
#import "MoviTiendas.h"

@interface VistaConfirmacionDomicilio ()
{
    MoviTiendas * principal;
}

@end

@implementation VistaConfirmacionDomicilio
@synthesize txtNombre;
@synthesize textDireccion;
@synthesize switchInmediatamente;
@synthesize switchRecogerDomicilio;
@synthesize pickerFechaEntrega;
@synthesize carrito;
@synthesize lblFecha;
@synthesize controlador, mensaje;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    
	// Do any additional setup after loading the view.
    principal = [MoviTiendas darInstancia];
    txtNombre.text = principal.cliente.nombre;
    textDireccion.text = principal.cliente.direccion1;
    [pickerFechaEntrega setHidden:YES]; 
            lblFecha.hidden = YES;
    
}

- (void)viewDidUnload
{
    [self setTxtNombre:nil];
    [self setTextDireccion:nil];
    [self setSwitchInmediatamente:nil];
    [self setSwitchRecogerDomicilio:nil];
    [self setPickerFechaEntrega:nil];
    [self setLblFecha:nil];
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

- (IBAction)confirmarDomicilio:(id)sender 
{
    
    mensaje = [NSString stringWithFormat:@"%@ solicitó un domicilio con los productos: ", txtNombre.text];
    NSDate *now;
    for (Item * item in carrito.items)
    {
        mensaje = [mensaje stringByAppendingString:[NSString stringWithFormat:@" (Prod: %@, Cant: %d)", item.producto.nombre, item.cantidad]];
    }
    
    if (switchInmediatamente.on)
    {
        
        now = [NSDate date];
        if(switchRecogerDomicilio.on)
        {
            
            mensaje = [mensaje stringByAppendingFormat:@". El domicilio debe estar listo para ser recogido."];
            
        }else 
        {
            mensaje = [mensaje stringByAppendingFormat:@". El domicilio debe ser enviado a la dirección %@.",textDireccion.text];
        }
        
    }
    else 
    {
        
        NSDateFormatter *format = [[NSDateFormatter alloc] init];
        [format setDateFormat:@"MMM/dd/yyyy HH:mm"];
        
        now = pickerFechaEntrega.date;
        
        NSString *dateString = [format stringFromDate:now];
        
        
        if(switchRecogerDomicilio.on)
        {
            
            mensaje = [mensaje stringByAppendingFormat:@". El domicilio debe estar listo el %@ para ser recogido.",dateString];    
        }
        else 
        {
            
            mensaje = [mensaje stringByAppendingFormat:@". El domicilio debe ser llevado el %@ a la dirección %@.",dateString,textDireccion.text];
        }
    }
    
    NSLog(@"%@",mensaje);
    controlador = [[MFMessageComposeViewController alloc] init];
    if([MFMessageComposeViewController canSendText])
    {
        controlador.body = mensaje;
        controlador.recipients = [NSArray arrayWithObject:carrito.tienda.telefono];
        controlador.messageComposeDelegate = self;
        [self presentViewController:controlador animated:YES completion:nil];
    }
    


  
    
   // ;


}

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
	switch (result) {
		case MessageComposeResultCancelled:
			NSLog(@"Cancelled");
           
			break;
		case MessageComposeResultFailed:
           // UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"MyApp" message:@"Unknown Error" delegate:self cancelButtonTitle:@”OK”otherButtonTitles: nil];
		//	[alert show];
            
            [self mostrarError];
            NSLog(@"Falló el mensaje");
            
			break;
		case MessageComposeResultSent:
             NSLog(@"Enviado");
         //   [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES];
            [self notificarMundo];
            [self mostrarEnviado];
			break;
		default:
			break;
	}
    
	[self dismissModalViewControllerAnimated:YES];
}

- (void) notificarMundo
   {
       NSDateFormatter *format = [[NSDateFormatter alloc] init];
       [format setDateFormat:@"MMM/dd/yyyy HH:mm"];
       
       NSDate * now = pickerFechaEntrega.date;
       NSString *dateString = [format stringFromDate:now];
         [principal.cliente solictarDomicilio:carrito conFecha:now];
   }

-(void) mostrarError
{
                    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"No se pudo enviar el mensaje" delegate:nil cancelButtonTitle:@"Aceptar" otherButtonTitles: nil];
    [alert show];
    
}
-(void) mostrarEnviado
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Enviado" message:@"Se envio el mensaje correctamente" delegate:nil cancelButtonTitle:@"Aceptar" otherButtonTitles: nil];
    [alert show];
    
}


- (IBAction)cambiarSiDomicilioEsInmediato:(id)sender 
{
    if (switchInmediatamente.on)
    {
        [pickerFechaEntrega setHidden:YES];
        lblFecha.hidden = YES;
         
        
    }
    else 
    {
        [pickerFechaEntrega setHidden:NO];
        lblFecha.hidden = NO;
    }
    

}
- (IBAction)cambiarRecogerDomicilioPersonalmente:(id)sender 
{
    
}

@end
